package main

import (
	"fmt"
	"runtime"
	"flag"
	"time"
	"gitee.com/Cookie_XiaoD/crontab/worker"
)

func main() {
	initArgs()
	initEvn()

	for{
		time.Sleep(1.*time.Second)
	}
}

var (
	cfgPath string
)

func initArgs(){
	//我们启动服务的时候，通常是 worker -config 配置文件路径
	//我试过了，没法配置成--config的方式
	//通过worker -h或--help可以查看帮助
	flag.StringVar(&cfgPath,"config","./worker.json","通过-config指定配置文件")
	flag.Parse()
}

func initEvn() {

	var (
		err error
	)

	//初始化最大CPU数,设置为CPU数量
	runtime.GOMAXPROCS(runtime.NumCPU())

	//初始化wokrer配置
	if err = worker.InitConfig(cfgPath); err != nil {
		goto Err
	}


	//初始化任务调度器
	if err=worker.InitScheduler();err!=nil{
		goto Err
	}

	//初始化任务执行器
	if err=worker.InitExecuter();err!=nil{
		goto Err
	}


	//初始化任务管理器
	if err = worker.InitJobMgr(); err != nil {
		goto Err
	}

	return

Err:
	fmt.Println(err)
}
